Retour à la page d’accueil

Dans cette seconde partie de la section dédiée à la vidualisation de données vous allez: - Changer l’apparence des graphiques - Combiner plusieurs graphiques dans une même figure - Inclure du dynamisme et de l’interactivité à vos graphique - Apprendre les meilleures pratique pour visualiser des données

Mise en place

Avant de rentrer dans le vif du sujet il nous faut mettre en place notre environnement de travail. Créez un nouveau script R et:

  • chargez les librairies nécessaires:
library(tidyverse)
library(visdat)
library(plotly)
  • changer votre répertoire de travail pour être dans le dossier session3_plots_manipulation:
setwd("~/Desktop/2021_L3_R/session3_plots_manipulation/")
  • Importez les données dans R:
expt1 <- read_tsv("../data/burghardt_et_al_2015_expt1.txt")
## 
## ── Column specification ────────────────────────────────────────────────────────
## cols(
##   genotype = col_character(),
##   background = col_character(),
##   temperature = col_double(),
##   fluctuation = col_character(),
##   day.length = col_double(),
##   vernalization = col_character(),
##   survival.bolt = col_character(),
##   bolt = col_character(),
##   days.to.bolt = col_double(),
##   days.to.flower = col_double(),
##   rosette.leaf.num = col_double(),
##   cauline.leaf.num = col_double(),
##   blade.length.mm = col_double(),
##   total.leaf.length.mm = col_double(),
##   blade.ratio = col_double()
## )

Nous sommes maintenant prêt!

Changer l’apparence d’un graphique en utilisant les themes

Tous les élépments d’un ggplot sont modifiables. Les themes permettent de modifier l’apparence du graphique. Voici quelques exemples.

# Example de thèmes existants dans ggplot2 
ggplot(expt1, aes(genotype, days.to.flower)) +
  geom_boxplot() +
  theme_bw() +
  labs(title = "Black and white theme")
## Warning: Removed 83 rows containing non-finite values (stat_boxplot).

ggplot(expt1, aes(genotype, days.to.flower)) +
  geom_boxplot() +
  theme_classic() +
  labs(title = "Classic theme")
## Warning: Removed 83 rows containing non-finite values (stat_boxplot).

ggplot(expt1, aes(genotype, days.to.flower)) +
  geom_boxplot() +
  theme_minimal() +
  labs(title = "Minimal theme")
## Warning: Removed 83 rows containing non-finite values (stat_boxplot).

La fonction theme() peut être utilisée pour modifier des éléments en particulier du graphique. Il y a tellement de possibilités que le mieux est de rechercher sur internet la modification que vous voulez faire.

Par exemple, en recherchant “vertical labels x axis ggplot2” nous obtenons cette solution:

ggplot(expt1, aes(genotype, days.to.flower)) +
  geom_boxplot() +
  theme(axis.text.x = element_text(angle = 90, hjust = 1))
## Warning: Removed 83 rows containing non-finite values (stat_boxplot).

Rechercher “altering plot colours ggplot2” donne ceci, qui apporte cette solution:

ggplot(expt1, aes(genotype, days.to.flower, fill = fluctuation)) +
  geom_boxplot() +
  scale_fill_brewer(palette="Dark2")
## Warning: Removed 83 rows containing non-finite values (stat_boxplot).

Combiner plusieurs graphiques dans une même figure

Parfois nous voulons crée une figure contenant plusieurs graphiques, c’est le cas dans la plupart des articles scientifiques

Interactivité!

Pour aller plus loin, il est même possible de créer des graphiques intéractifs en utilsant le package plotly.

Il faut d’abord mettre le graphique dans un objet, puis d’utiliser cet objet dans la fonction ggplotly().

# Mettre le graphique dans l'objet p1
p1 <- ggplot(expt1, aes(blade.length.mm, rosette.leaf.num, colour = fluctuation)) + 
  geom_point() +
  facet_wrap(~genotype)

# Utiliser la fonction ggplotly pour faire un graphique intéractif
ggplotly(p1)
## Warning: `group_by_()` is deprecated as of dplyr 0.7.0.
## Please use `group_by()` instead.
## See vignette('programming') for more help
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_warnings()` to see where this warning was generated.

Extras